package com.sxj.corejava.code14_设计模式;

/**
 * @author 石小俊
 * 懒汉式：在需要使用的时候才创建对象
 */
public class OtherBean {

    // 1.构造方法私有化
    private OtherBean(){

    }

    // 2.在类加载的时候声明一个对象,但是不进行创建
    private static OtherBean otherBean;

    // 3.提供一个外部访问的方法,用于获取当前类的唯一对象
    // 此处存在线程安全问题，需要加同步锁
    public static synchronized OtherBean getInstance(){
        // 在进行访问时需要判断该对象是否已经创建
        // 如果没有创建，则进行创建
        if(otherBean == null){
            otherBean = new OtherBean();
        }
        // 如果已经创建了，则直接返回
        return otherBean;
    }

}
